1. Technical Field of the Present Invention
The present invention generally relates to computers, and more specifically, to intermediate software that provides an interface between applications and assistive software that assists an individual with vision impairment.
2. Description of Related Art
Technological advances have allowed the electronic industry to take a more active and, often times, critical role in assisting individuals with various disabilities. In particular, these advances have enhanced the number of options in which information can be presented to an individual.
Personal computers are examples of the type of technology that have been adapted to assist individuals with vision impairment. In general, visual information is displayed on a monitor and data can be added or manipulated via keystrokes upon an associated keyboard. Screen readers or renderers (e.g. JAWS™ by Freedom Scientific) have enabled visually impaired individuals to hear what is being displayed on the monitor via a speech synthesizer and/or felt on a refreshable Braille display.
The renderers can support applications such as the Internet Explorer with special features, such as, links lists, frame lists, forms mode and reading of HTML labels and graphic labels included on web pages. Upon entering an HTML document via an Internet link, the speech synthesizer will speak the number of frames in a document being read in Internet Explorer and the number of links in the frame currently being displayed. The speech synthesizer will also read graphics labeled by alternate tags in HTML code.
In order to provide the appropriate assistance, the renderer must have knowledge concerning each document type that is to be rendered (e.g. navigation, display properties etc.). Unfortunately, each document type has its own set of objects and attributes that are described in its Document Object Model (DOM) such as HTML, XHTML, PDF, Flash, and Daisy. Some of these DOMs will have proprietary protection schemes to ensure that the document content is used in accordance with its license (e.g., password protection scheme). As a result of the definition of DOMs becoming more document specific, the complexity of attempting to interface with DOMs has increased. For example, a chart is different than a paragraph and a table is different than a graphics image. Some objects are completely enclosed in their own renderer and appear as a hole (e.g. an embedded object) in the main document.
As the types of complex documents increase, the above noted issues and others will continue to arise, and the ability of renderers to continue to provide the same functionality as the displayed information is becoming increasingly difficult. More specifically, the application developers must have detailed knowledge of the semantics of each document type and how to access each renderer's proprietary access methods (e.g., programming interfaces). Unfortunately, this information is not readily available, and often times, limited to a specific group of individuals.
It would, therefore, be a distinct advantage to provide an interface that would provide application developers with the ability to interact with these DOMs without having detailed knowledge of the DOMs themselves.